A Graphics Processing Unit (GPU) provides special features for graphics rendering tasks on a computing device (e.g., a PC, a game console, etc.). Various types of GPUs exist and these types often vary in hardware architecture, functionalities and performance. These differences can complicate development of graphics applications as a developer typically wants a graphics application to produce the same rendering results in about the same amount of time regardless of the GPU used.
To assess rendering results and performance, a developer normally “ports” an application from one platform to another to test different GPUs and even different CPUs or CPU-GPU combinations. When an application is expected to perform on many types of GPU, porting can be a time consuming process. Various exemplary techniques described herein allow for real time emulation of a target GPU and can be used to assess results and performance of a graphics application without physically porting the application to a computing platform with the actual target GPU.